{{tag>Lucid serveur gestionnaire_de_telechargements }}

----
====== OpenUpload ======


**OpenUpload** est une application pour créer un serveur public ou privé de téléchargement de fichiers comme MegaUpload ou RapidShare.

Quelques fonctionnalités :

  * authentification à l'aide d'une base de données ou d'un serveur LDAP/AD
  * contrôle d'accès par groupes
  * différents plugins pour contrôler l'upload/download des fichiers (captcha, protection par mot de passe, envoi d'email, bannissement d'IP, etc...)

===== Pré-requis =====

Pour fonctionner, OpenUpload nécessite d'avoir [[:tutoriel:comment_installer_un_paquet|installé]] à minima :
  * un [[:apache2|serveur web]] : **[[apt>apache2]]**
  * [[:php|php]] dans sa version 5 : **[[apt>php5]]**
  * les paquets **[[apt>php5-gd]]** et **[[apt>php-apc]]**
  * un [[:sgbd|serveur de base de données]] tel que [[:MySQL]] ou [[:PostgreSQL]]
  * les modules php5 dédiés à la base de données choisie :
    * pour [[:Mysql]] il s'agira de **[[apt>mysql-server]]** et **[[apt>php5-mysql]]**
    * pour [[:PostgreSQL]] il s'agira de **[[apt>postgresql]]** et **[[apt>php5-pgsql]]**
Pour l'authentification auprès d'un serveur LDAP/Active Directory il faudra également avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt>php5-ldap]]** 

====Résumé en ligne de commande==== 
Exemple pour l'installation d'OpenUpload avec une base de données de type [[:Mysql]], saisissez dans un [[:terminal]] la [[:commande_shell|commande]] suivante:
<code>sudo apt-get install apache2 php5 php5-gd php-apc php5-mysql php5-ldap mysql-server</code>

Pour l'installation d'OpenUpload avec une base de données [[:Postgresql]], on utilisera la [[:commande_shell|commande]] suivante :
<code>sudo apt-get install apache2 php5 php5-gd php-apc php5-pgsql php5-ldap postgresql</code>
===== Installation et configuration =====

==== Configuration des modules PHP ====


Par défaut, la taille maximum des fichiers uploadés est de 2 Mo. Pour modifier cette valeur, il faut [[:tutoriel:comment_modifier_un_fichier|éditer le fichier]] /etc/php5/apache2/php.ini.

Modifiez la ligne suivante en fonction de la taille maximum souhaitée.

Par exemple si l'on souhaite que la taille maximum des fichiers uploadés soit de 1Go :

<code>upload_max_filesize = 1G</code>

Pour activer le suivi de l'upload, [[:tutoriel:comment_modifier_un_fichier|éditez le fichier]] /etc/php5/conf.d/apc.ini.

Ajoutez la ligne suivante en fin de fichier :

<code>apc.rfc1867=on</code>

On redémarre le serveur web pour prendre en compte les modifications :

<code>sudo service apache2 restart</code>

==== Installation de OpenUpload ====

On va télécharger les sources de OpenUpload. Ouvrez un [[:terminal]] et tapez la ligne suivante :

<code>wget http://heanet.dl.sourceforge.net/project/openupload/openupload/v0.4/openupload-0.4.2.tar.gz</code>

Ensuite il faut [[:archivage#en_ligne_de_commande|extraire l'archive]] :

<code>tar zxvf openupload-0.4.2.tar.gz</code>

On renomme le dossier extrait :

<code>mv openupload-0.4.2 openupload</code>

On copie le dossier à la racine de serveur web :

<code>sudo cp -R openupload /var/www/</code>

On va modifier le propriétaire des dossiers /var/www/openupload/www /var/www/openupload/data /var/www/openupload/template_c :

<code>sudo chown -R www-data /var/www/openupload/www /var/www/openupload/data /var/www/openupload/template_c</code>

==== Configuration de OpenUpload ====

Pour configurer l'application, on ouvre son navigateur web à l'adresse suivante :

http://ip_serveur/openupload

Puis on se laisse guider par l'assistant de configuration.

=== Mode de fonctionnement ===

**Public mode** : le site est totalement publique. Nul besoin de s'enregistrer ou de se loguer pour téléverser ou télécharger des fichiers.

**Service mode** : Le site est publique pour les utilisateurs non enregistrés mais les utilisateurs enregistrés ont accès à plus de fonctionnalités (protection par mot de passe, envoi d'email, etc..)

**Restricted mode** : Les utilisateurs doivent s'enregistrer et se connecter pour téléverser des fichiers. Le téléchargement est publique.

**Private mode** : les utilisateurs ne peuvent pas s'enregistrer (c'est l'administrateur du site qui les ajoute) et ils doivent se connecter pour pouvoir téléverser des fichiers.

=== Plugins ===

**Captcha** : permet aux utilisateur de demander la saisie d'un captcha pour le téléchargement.

**Email** : permet aux utilisateurs d'envoyer un email avec les détails du téléchargement. (nécessite l'installation d'un serveur mail)

**Password** : permet d'ajouter une protection par mot de passe aux fichiers en téléchargement.

**Expire** : permet de définir quand un fichier téléchargé expire.

**Filesize** : limite la taille des fichiers téléversés.

**Mimetype** : permet de limiter les types MIME des fichiers téléversés.

**Compress** : permet de compresser un fichier téléversé.


===== Utilisation =====

Pour accéder à l'application, il suffit de taper dans un navigateur web l'adresse suivante :

http://ip_serveur/openupload

Suivant le type de fonctionnement il sera demandé ou non de s'authentifier.

===== Liens =====

[[http://openupload.sourceforge.net/|Le site du projet OpenUpload]]

----
//Contributeurs:demonipuch//